package com.dps.recommend.beans;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;


@Getter
@Setter
@Accessors(chain = true)
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class DpsRequest<R extends Request> implements Serializable {
    /**
     * 请求提
     */
    public R request;


    /**
     * 当前所属组
     */
    private String groupName;

    /**
     * 当前所属组白名单
     */
    private String groupWhiteId;

    /**
     * 权重
     */
    private String groupWeight;

    /**
     * 当前所属组是否是测试组 默认false
     */
    private String groupIsWhiteTest;


    /**
     * 当前所属层
     */
    public DefaultLayerRule layer;

    /**
     * 当前所属路
     */
    private Road road;

    /**
     * 每层之间可以传递数据
     */
    private Map<String, Object> extMap = new HashMap<>();

    public DpsRequest(R request) {
        this.request = request;
    }

}
